package com.fowo.api.model.stock.in.product;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import javax.validation.constraints.*;
import lombok.Data;

/** 入库单子表 导入导出辅助模型 */
@Data
public class StockInProductExcelPo {

  @NotNull(message = "产品不能为空")
  @ExcelProperty(value = "*产品")
  private String productIdName;

  @ExcelIgnore
  @ExcelProperty(value = "*产品")
  private Long productId;

  @Size(max = 50, message = "SKU长度不能超过20")
  @ExcelProperty(value = "SKU")
  private String sku;

  @ExcelProperty(value = "店铺")
  private String shopIdShopName;

  @ExcelIgnore
  @ExcelProperty(value = "店铺")
  private Long shopId;

  @Size(max = 50, message = "FNSKU长度不能超过20")
  @ExcelProperty(value = "FNSKU")
  private String fnsku;

  @NotNull(message = "产品单价不能为空")
  @NumberFormat("0.000")
  @ExcelProperty(value = "*产品单价")
  private java.math.BigDecimal unitPrice;

  @ExcelProperty(value = "单位费用")
  private java.math.BigDecimal unitCost;

  @ExcelProperty(value = "单位入库成本")
  private java.math.BigDecimal unitReceiptCost;

  @Size(max = 50, message = "入库量长度不能超过20")
  @ExcelProperty(value = "入库量")
  private Integer unitStock;

  @ExcelProperty(value = "良品量")
  private Integer goodProduct;

  @ExcelProperty(value = "次品量")
  private Integer defectiveProduct;

  @ExcelProperty(value = "待检量")
  private Integer waitQuantity;

  @ExcelProperty(value = "货值")
  private java.math.BigDecimal productPrice;

  @ExcelProperty(value = "费用")
  private java.math.BigDecimal cost;

  @ExcelProperty(value = "入库成本")
  private java.math.BigDecimal arcd;

  @Size(max = 50, message = "可用仓位长度不能超过20")
  @ExcelProperty(value = "可用仓位")
  private String availablePositions;

  @Size(max = 50, message = "次品仓位长度不能超过20")
  @ExcelProperty(value = "次品仓位")
  private String defectiveProductPosition;

  @Size(max = 50, message = "备注长度不能超过20")
  @ExcelProperty(value = "备注")
  private String remarks;

  @ExcelProperty(value = "所属入库单")
  private String parentStockInIdCgRealname;

  @ExcelIgnore
  @ExcelProperty(value = "所属入库单")
  private Long parentStockInId;

  @NotNull(message = "成本价格不能为空")
  @ExcelProperty(value = "*成本价格")
  private java.math.BigDecimal costPrice;

  @ExcelProperty(value = "主材料单价")
  private java.math.BigDecimal mainUnitPrice;

  @Size(max = 50, message = "主材料克重长度不能超过20")
  @ExcelProperty(value = "主材料克重")
  private java.math.BigDecimal gramWeight;

  @Size(max = 50, message = "工费长度不能超过20")
  @ExcelProperty(value = "工费")
  private java.math.BigDecimal laborCosts;

  @ExcelProperty(value = "链条和石头")
  private java.math.BigDecimal accessoriesPrice;

  @NotNull(message = "入库数量不能为空")
  @ExcelProperty(value = "*入库数量")
  private Integer quantity;

  @NumberFormat("0.000")
  @ExcelProperty(value = "小计")
  private java.math.BigDecimal subtotal;
}
